#include<iostream>
#include<deque>

using namespace std;

void printDeque(deque<int>& d){
	for(deque<int>::iterator iter=d.begin(); iter!=d.end(); iter++){
		cout<<*iter<<" ";
	}
	cout<<endl;
}


/**
 *pop_front
 *pop_back
 *erase,clear
 */
int main(){
	deque<int> d={-1,9,8,5,2,1,1,-1};
	printDeque(d);
	d.pop_back();
	printDeque(d);
	d.pop_front();
	printDeque(d);
	

	deque<int>::iterator it=d.erase(d.begin()+2);
	printDeque(d);
	cout<<*it<<endl;
	it=d.erase(it);
	printDeque(d);
	cout<<*it<<endl;
	
	d.erase(d.begin()+1,d.begin()+3);
	printDeque(d);

	d.clear();
	printDeque(d);

	cout<<"d.empty():"<<d.empty()<<endl;
	cout<<"d.size():"<<d.size()<<endl;

	
	return 0;
}
